#ifndef __SW_RENDER_H__
#define __SW_RENDER_H__
#include "framework/sweety.h"
#include "components/3D/sweety_3D_Sprite.h"

namespace SW
{
	class Camera;
	class SW_API Renderer
	{
	public:
		static Renderer*	GetInstance();

		static void			SetCurrentCamera(Camera* camera);
		static Camera*		GetCurrentCamera();

		static mat4&		GetMVPTrans();
		static mat4&		GetMVTrans();
		static mat3&		GetNormalTrans();

		static void			RenderSprite(Sprite* sprite, const mat4& modelTrans);

	private:
							Renderer();

	private:
		static Renderer*	s_Instance;
		Camera*				m_CurrentCamera;

		mat4				m_MVPTrans;
		mat4				m_MVTrans;
		mat3				m_NormalTrans;
	};
}

#endif